很显然是让我们求出下式:
根据性质可以得到:
我们设两个函数:
- 函数 $f$,$f(x)$ 表示 $\sum_{i=1}^{\lfloor\frac{A}{K}\rfloor}\sum_{j=1}^{\lfloor\frac{B}{K}\rfloor}[gcd(i,j)=x]$
- 函数 $g$ ,$g(x)$ 表示 $\sum_{i=1}^{\lfloor\frac{A}{K}\rfloor}\sum_{j=1}^{\lfloor\frac{B}{K}\rfloor}[x|gcd(i,j)]$
我们可以得到:
这是莫比乌斯反演的第二个形式:
于是:
设 $n=\lfloor\frac{A}{K}\rfloor\ ,\ m=\lfloor\frac{B}{K}\rfloor$
那么:
这个式子是 $O(n)$ 的。
发现 $\lfloor\frac{A}{K}\rfloor \times\lfloor\frac{B}{K}\rfloor$ 可以整除分块,于是我们便可以做到 $O(\sqrt{x})$
Code:
1 |
|
所以就没了。
本文标题:【题解】 [POI2007]ZAP-Queries 莫比乌斯反演 luogu3455
文章作者:Qiuly
发布时间:2019年02月27日 - 00:00
最后更新:2019年03月29日 - 13:54
原始链接:http://qiulyblog.github.io/2019/02/27/[题解]luoguP3455/
许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。